'''
Created on Nov 12, 2013

@author: root
'''
import unittest

class VerticeDistanciado():
    
    def __init__(self, vertice, distanciAlorigen):
        self.__vertice__=vertice
        self.__distanciAlorigen__=distanciAlorigen

    def getDistanciAlorigen(self):
        return self.__distanciAlorigen__


    def getVertice(self):
        return self.__vertice__


    def get_distanci_alorigen__(self):
        return self.__distanciAlorigen__


    def __cmp__(self,unVerticeDistanciado):
        if self.__distanciAlorigen__ is None:return -1
        if unVerticeDistanciado.__distanciAlorigen__ is None: return 1
        return self.__distanciAlorigen__.__cmp__(unVerticeDistanciado.__distanciAlorigen__)
    
    def __str__(self):
        linea="(V="
        linea+=self.__vertice__.__str__()
        linea+=": dist="
        linea+=self.__distanciAlorigen__.__str__()
        linea+=")"
        return linea

class Test(unittest.TestCase):


    def testsetUp(self):
        self.assertIsInstance(VerticeDistanciado(2,3), VerticeDistanciado, "verifica creacion")


    def testCmp(self):
        a=VerticeDistanciado(2,3)
        b=VerticeDistanciado(2,3)
        self.assertEquals(a.__cmp__(b),0, "verifica igualdad")
        a=VerticeDistanciado(2,3)
        b=VerticeDistanciado(2,5)
        self.assertEquals(a.__cmp__(b),-1, "verifica mayor")
        a=VerticeDistanciado(2,9)
        b=VerticeDistanciado(2,5)
        self.assertEquals(a.__cmp__(b),1, "verifica menor")
        a=VerticeDistanciado(2,None)
        b=VerticeDistanciado(2,5)
        self.assertEquals(a.__cmp__(b),-1, "verifica mayor")
        a=VerticeDistanciado(2,67)
        b=VerticeDistanciado(2,None)
        self.assertEquals(a.__cmp__(b),1, "verifica menor")

if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.testName']
    unittest.main()